Field
The present invention generally relates to the field of wireless communication systems, and more specifically to flow control between a base station controller and a base transceiver station.
Background
High Data Rate (“HDR”) technology is a high-speed, high-capacity wireless technology optimized for packet data services. Using a single, data-dedicated 1.25 MHz channel for operation, HDR can deliver data at a peak data rate of 2.4 Mbps, which is significantly faster than many accesses provided over landline networks. Thus, the advantages of HDR include, among others, high-speed data transmission and high spectral efficiency.
HDR is the basis for the 1× Evolution Data Only (1×EV-DO) standard, which has been standardized by the Telecommunications Industry Association as TIA/EIA/IS-856. HDR is designed to be interoperable with existing wireless communication systems, for example a code division multiple access (“CDMA”) system. In CDMA systems, each signal is separated from those of other users by coding the signal. Each user uniquely encodes its information signal into a transmission signal, which is then transmitted over a 1.25 MHz channel. The intended receiver, knowing the code sequences of the user, can decode the transmission signal to receive the information. The fact that a CDMA channel is 1.25 MHz simplifies the integration of HDR technology into the present CDMA framework.
Using CDMA for illustrative purposes, HDR technology can utilize existing CDMA infrastructure and architecture, including CDMA base station controllers (“BSC”) and base transceiver stations (“BTS”). For example, in a CDMA system configured to be interoperable with HDR technology, data downloaded from the Internet by a user is routed through the BSC to the BTS, which transmits the data to the user via a data-dedicated 1.25 MHz channel or air-link. The BSC packetizes the stream of data it receives into individual 128-byte HDR packets (or “data packets”) before transmitting the data packets to the BTS. The data packets are received by the BTS and placed in a buffer (or “queue”) of fixed size to be transmitted to the user using an HDR protocol.
To reduce the possibility of overflowing or overrunning the buffer at the BTS, i.e. the BTS receiving more data from the BSC than the buffer can accommodate and/or transmit to the user, as well as the possibility of “starving” the buffer, i.e. the BTS not receiving data from the BSC when the buffer is empty, mechanisms to control the data flow between the BSC and the BTS are commonly employed. Generally, flow control mechanisms are based on the BTS advertising to the BSC the amount of space, or “window”, available at the buffer for receiving more data in order for the BSC to determine how much data to transmit to the BTS.
One conventional method for flow control between the BSC and the BTS involves the BTS advertising its window size to the BSC at certain, preset, buffer capacity threshold points. For example, when the buffer nears capacity and reaches a preset high watermark threshold, the flow control mechanism is triggered, and the BTS sends a signal informing the BSC to stop transmitting additional data packets so as not to overrun the buffer. Overrunning the buffer can lead to problems such as data packets being dropped and lost at the buffer and having to be retransmitted, leading to less reliable data transmission. Further, having to retransmit dropped or lost data means incurring more overhead and slowing of communication. In the other instance when the buffer is nearing empty and hits a preset low watermark threshold, the flow control mechanism is triggered, and the BTS sends a signal telling the BSC to send more data packets. An empty buffer translates to wasted system resources, because it can result in frames of unused air-link that could be utilized to transmit data from the buffer.
A drawback to the conventional flow control mechanism described above is that feedback signals may not be received by the BSC in time to prevent overrunning and/or starving the buffer. For instance, by the time the BSC receives a signal from the BTS to stop sending more data, the BSC may have already put too much data “in flight” to avoid overrunning the buffer, leading to data packets being dropped at the buffer. In the case of an emptying buffer, a signal to send more data may not be received by the BSC in time for it to get data to the buffer before the buffer is completely empty, resulting in wasted air-link frames. Further, a flow control mechanism which is triggered by buffer capacity threshold points may result in the transmission of a high number of feedback signals which puts more strain on the system and increases system overhead.
There is thus a need in the art for an improved method for flow control between BSC and BTS. More particularly, there is a need for a method to reduce the likelihood of data overrun at a buffer, as well as the possibility of a starving buffer.